Time extension for image frame processing

ABSTRACT

A method includes determining, at an image processor, a first time period associated with processing a first frame of an image captured via an image sensor. The method also includes extending a frame time for processing the first frame by a second time period. The second time period is based at least in part on an amount of permitted focus value contamination for processing the first frame, and the frame time includes the first time period and the second time period.

I. CLAIM OF PRIORITY

The present application claims priority from U.S. Provisional PatentApplication No. 62/073,499 entitled “TIME EXTENSION FOR IMAGE FRAMEPROCESSING,” filed Oct. 31, 2014, the contents of which are incorporatedby reference in their entirety.

II. FIELD

The present disclosure is generally related to image frame processing.

III. DESCRIPTION OF RELATED ART

Advances in technology have resulted in smaller and more powerfulcomputing devices. For example, a variety of portable personal computingdevices, including wireless telephones such as mobile and smart phones,tablets, and laptop computers, are small, lightweight, and easilycarried by users. These devices can communicate voice and data packetsover wireless networks. Further, many such devices incorporateadditional functionalities such as a digital still camera, a digitalvideo camera, a digital recorder, and an audio file player. Also, suchdevices can process executable instructions, including softwareapplications, such as a web browser application, that can be used toaccess the Internet. As such, these devices can include significantcomputing capabilities.

A wireless device may include a camera that captures image frames (e.g.,video and/or image stills). Auto focus accuracy for each image framecaptured by the camera may be affected by sensor exposure time and frametime. Sensor exposure time (e.g., a frame integration period) mayaccount for a portion of the frame time. During a frame integrationperiod, pixel data may be generated for each pixel of the frame.Typically, darker frames (e.g., low light frames) have a longer frameintegration period. After the frame integration period (e.g., during theremaining portion of the frame time), the lens of the camera is adjusted(e.g., repositioned) to focus on a specific region of interest of theframe.

If the frame integration time period is prolonged, there may be aninsufficient amount of time remaining in the frame time to repositionthe lens of the camera. For example, if the frame integration timeperiod is approximately equal to the frame time, there may be aninsufficient amount of time to reposition the lens of the camera duringthe remaining frame time after the frame integration time. As a result,a focus value may be collected for the frame while an actuator is movingthe lens. As used herein, a “focus value” is an example of one parameterused in passive auto focus that indicates a level of sharpness of aregion of interest of a frame. For example, the focus value may beobtained from a statistics engine and may be used in an auto focusalgorithm to determine a lens position for improved sharpness.

To generate a reliable focus value, the lens should not move duringframe integration. Thus, if the lens is moving during the frameintegration period, the focus value may be contaminated (e.g.,inaccurate or unreliable). Additionally, if the actuator is moving thelens while the focus value is collected, the focus value will not berepresentative of an “optimal” lens position for the frame. Thus, imagesharpness may be degraded.

IV. SUMMARY

Systems and methods for extending a frame time for image frameprocessing are disclosed. An image sensor may determine a frame time forprocessing an image frame. The frame time may include a frameintegration period in which pixel data is generated for each pixel ofthe image frame. A light frame may include a relatively short frameintegration period and a dark frame may include a relatively long frameintegration period. Because the frame integration period is dependent onexternal factors (e.g., brightness of the frame), in some circumstances,the frame integration period may account for a relatively large portionof the frame time. As a result, there may be insufficient time remainingin the frame time to reposition the lens of the camera to focus on aregion of interest in the image frame.

To address this problem, the image sensor may extend the frame time tocreate additional time during which an actuator may move the lens of thecamera. Thus, the added time may provide the actuator enough time tomove the lens to focus on the region of interest in image frame. A“focus value” may correlate (e.g., indicate) a level of sharpness of theregion of interest. Extending the frame time may enable the actuator tocomplete (or substantially complete) oscillation, which may improve thefocus value for a given frame.

The amount of time added to the frame time may be based on an amount(e.g., a percentage, a level, a degree, etc.) of permitted focus valuecontamination during image processing. The focus value contamination maybe proportional to an amount of image integration time (e.g., exposuretime) per frame during image processing. For example, if the exposuretime is short and the actuator does not complete oscillation during theexposure time, the focus value contamination may be relatively high.Alternatively, if the exposure time is long and the actuator completesoscillation during the exposure time, the focus value contamination maybe relatively low (or non-existent). When the lens is repositioned tofocus on the region of interest, the image processor may collect a moreaccurate and reliable focus value that is representative of an “optimal”lens position for the region of interest. Thus, the image sharpness ofthe region of interest in the frame may be improved.

In a particular aspect, a method includes determining, at an imageprocessor, a first time period associated with processing a first frameof an image captured via an image sensor. The method also includesextending a frame time for processing the first frame by a second timeperiod. The second time period is based at least in part on an amount ofpermitted focus value contamination for processing the first frame, andthe frame time includes the first time period and the second timeperiod.

In another particular aspect, an apparatus includes an image processorand a memory storing instructions executable by the image processor toperform operations. The operations include determining a first timeperiod associated with processing a first frame of an image captured viaan image sensor. The operations also include extending a frame time forprocessing the first frame by a second time period. The second timeperiod is based at least in part on an amount of permitted focus valuecontamination for processing the first frame, and the frame timeincludes the first time period and the second time period.

In another particular aspect, a non-transitory computer-readable mediumincludes instructions that, when executed by an image processor, causethe image processor to determine a first time period associated withprocessing a first frame of an image captured via an image sensor. Theinstructions are also executable to cause the image processor to extenda frame time for processing the first frame by a second time period. Thesecond time period is based at least in part on an amount of permittedfocus value contamination for processing the first frame, and the frametime includes the first time period and the second time period.

In another particular aspect, an apparatus includes means fordetermining a first time period associated with processing a first frameof an image captured via an image sensor. The apparatus also includesmeans for extending a frame time for processing the first frame by asecond time period. The second time period is based at least in part onan amount of permitted focus value contamination for processing thefirst frame, and the frame time includes the first time period and thesecond time period.

Particular advantages provided by at least one of the disclosed aspectsinclude improved focus (e.g., sharpness) of a region of interest in aparticular image frame. For example, a frame time may be extended byadding additional time into the frame time. An actuator may use theadditional time to move a lens and to focus on the region of interest.Other aspects, advantages, and features of the present disclosure willbecome apparent after review of the entire application, including thefollowing sections: Brief Description of the Drawings, DetailedDescription, and the Claims.

V. BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram to illustrate a particular aspect of an imageprocessor that is operable to extend a frame time for image frameprocessing;

FIG. 2 is a timing diagram illustrating frame time extension for imageframe processing;

FIG. 3 includes a flowchart to illustrate a particular aspect of amethod for extending a frame time for image frame processing;

FIG. 4 includes a flowchart to illustrate another particular aspect of amethod for extending a frame time for image frame processing;

FIG. 5 is a diagram of a focus value curve;

FIG. 6 is a peak comparison diagram of the focus value curve of FIG. 5;and

FIG. 7 is a block diagram of a wireless device operable to extend aframe time for image frame processing according to the techniques ofFIGS. 1-4.

VI. DETAILED DESCRIPTION

Referring to FIG. 1, a particular aspect of an image processor 102 thatis operable to extend a frame time for image frame processing is shown.The image processor 102 may include a sensor control module 104, a frameintegration module 110, a frame integration timing module 112, a frametime injection module 114, a region of interest identification module116, and a focus value module 118. In a particular embodiment, the imageprocessor 102 may be included in a wireless device (e.g., a mobilephone).

The sensor control module 104 may be configured to control an actuator106 and a lens 108 of an image sensor (not shown). For example, thesensor control module 104 may be configured to control movement of theactuator 106, and in turn, the position of the lens 108 may be based onthe movement of the actuator 106. For example, the actuator 106 may movethe lens 108. As described below, the sharpness of a particular region(e.g., a “region of interest”) of an image frame may be based on theposition of the lens 108. For example, the region of interest may bemore clearly depicted as the position of the lens 108 moves closer to“optimum” focus.

The frame integration module 110 may be configured to “expose” pixels ofa frame (e.g., generate pixel data for pixels in a frame). For example,the frame integration module 110 may be configured generate pixel datafor each pixel in a first frame 120. The first frame 120 may include aplurality of pixels starting with a first pixel 122 in the top left-handcorner and a last pixel 124 in the bottom right-hand corner. The frameintegration module 110 may generate first pixel data for the first pixel122, generate second pixel data for a second pixel (e.g., the pixel tothe right of the first pixel 122), etc. In a particular embodiment, theframe integration module 110 may generate pixel data for each pixel inthe top row of pixels and sequentially generate pixel data for eachpixel in subsequent rows until pixel data is generated for the lastpixel 124. The frame size of the first frame 120 is for illustrativepurposes only and is not intended to be limiting. In alternativeembodiments, the frame size of the first frame 120 may be different.

The frame integration timing module 112 may determine (e.g., estimate) aframe integration time that represents a length of time (e.g., a lengthof a “first time period”) for the frame integration module 110 togenerate pixel data for each pixel in the first frame 120. Thedetermination may be based on a “brightness” level of the first frame120. For example, if the first frame 120 is relatively bright (e.g., ahigh light frame), the frame integration time (e.g., “frame exposure”time) may be relatively short. To illustrate, the frame integration timeat high light conditions may be approximately 33 ms or less. If thefirst frame 120 is relatively dark (e.g., a low light frame), the frameintegration time may be relatively long. To illustrate, the frameintegration time at low light conditions may be approximately 132 ms.Thus, the frame integration timing module 112 may determine the lengthof time for the frame integration module 110 to generate pixel data foreach pixel in the first frame 120 based on the brightness level of thefirst frame 120.

The frame time injection module 114 may be configured to “add” time(e.g., add a second time period) after the first time period to generatean extended frame time for processing the first frame 120. Thedetermination of whether to add the second time period after the firsttime period may be based on the first time period (e.g., the exposuretime) and an un-extended (e.g., default) frame time. For example, if thedifference between the un-extended frame time and the exposure timesatisfies (e.g., is greater than) a threshold, the frame time injectionmodule 114 may bypass adding time after the first time period to extendthe frame time. If the difference between the un-extended frame time andthe exposure time does not satisfy the threshold, the frame timeinjection module 114 may add the second time period after the first timeperiod to extend the frame time for processing the first frame 120. In aparticular embodiment, the frame time injection module 114 may add time(e.g., extend the frame time) on a frame-by-frame basis.

In a particular embodiment, the second time period (e.g., the added timeperiod) may be adjustable on a frame-by-frame basis. For example, thesecond time period may be based at least in part on an amount ofcontamination (e.g., a percentage of focus value contamination, a degreeof focus value contamination, a level of focus value contamination,etc.) allowed in processing the first frame 120. To illustrate, thesecond time period (τ) (e.g., the frame injection time) may be expressedas:τ=α−ε*ρ  (Equation 1).

According to Equation 1, α indicates an amount of time necessary for theactuator 106 to settle (e.g., complete oscillation), ε indicates theexposure time, and ρ indicates the amount of contamination allowed. In aparticular aspect, the amount of time necessary for the actuator 106 tosettle (e.g., “α”) may be a fixed time period. As a non-limitingexample, the amount of time necessary for the actuator 106 to settle maybe approximately 10 ms. The exposure time (ε) may vary on aframe-by-frame basis as explained above. The amount of contaminationallowed may be based on a customer setting at the image processor 102.

Thus, the second time period (τ) may be adjustable based on the amountof contamination allowed with respect to the exposure time. As anillustrative non-limiting example, the injection time (τ) may beapproximately 6.7 ms for a frame having a 33 ms exposure time and havingan amount of contamination allowed approximately equal to 10 percent(e.g., 10 ms−(33*0.1)). As another illustrative non-limiting example,the injection time (τ) may be approximately 0 ms for a frame having a100 ms exposure time and having an amount (e.g., a percentage) ofcontamination allowed approximately equal to 10 percent (e.g., 10ms−(100*0.1)).

Thus, the frame time injection module 114 may be configured to extendthe frame time for processing the first frame 120 by an adjustableamount according to Equation 1 if the difference between the frame time(without added time) and the exposure time determined by the frameintegration timing module 112 does not satisfy the threshold. Forexample, an auto exposure control (AEC) may set (e.g. configure) theframe time and the exposure time based on a lighting of the first frame.To extend the frame time (e.g., to add time), the AEC may readjust(e.g., reconfigure) the frame time to be longer (based on Equation 1)and maintain the exposure time. During the second time period (τ), theposition of the lens 108 may be adjusted to focus on a region ofinterest 126 of the first frame 120.

To illustrate, the region of interest identification module 116 mayidentify the region of interest 126 in the first frame 120. For example,the region of interest identification module 116 may identify a“default” region of pixels located in the center of the first frame 120.Alternatively, the region of interest identification module 116 mayreceive an input tuning preference to identify another region of pixelsas the region of interest 126. In the illustrated embodiment, the regionof interest 126 corresponds to the pixels in the center of the firstframe 120. The actuator 106 may adjust the position of the lens 108 tofocus on the region of interest 126 during the second time period (τ).

Repositioning the lens 108 to focus on the region of interest 126 mayadjust a focus value of the first frame 120. For example, the focusvalue module 118 may determine (e.g., collect) the focus value of thefirst frame 120. In passive auto focus techniques, the focus value mayindicate a level of sharpness of the region of interest 126 of the firstframe 120. During the second time period (τ) (e.g., the added time), theactuator 106 may reposition the lens 108 such that the focus valuemodule 118 may determine a relatively high focus value.

The image processor 102 of FIG. 1 may improve focus statistics of theregion of interest 126 by extending the frame time to enable theactuator 106 to reposition the lens 108. For example, the focusstatistics (e.g., the focus value) of the first frame may besubstantially similar to focus values of subsequent frames, as furtherdescribed with respect to FIGS. 5-6. During the added time, the actuator106 may reposition the lens 108 to focus on the region of the interest126. Thus, a delay (e.g., the second time period (τ)) may be added to aframe during an auto focus search so that the actuator 106 mayreposition the lens 108 to improve focus statistics. In one embodiment,the delay may be added to each frame. In an alternate embodiment, thedelay may be added to those frames having a long exposure time. Thedelay may be substantially less than a delay associated with skipping aframe. For example, skipping a frame may generate an effective delay forthe auto focus search that is approximately equal to an additional frametime.

For example, in low light conditions (e.g., 7.5 frames-per-second(FPS)), the frame time may be approximately 132 ms. Skipping a frameafter the lens 108 is repositioned may generate an effective frame timeof 264 ms (e.g., 2×132 ms); however, if the second time period (τ)according to Equation 1 is approximately 8 ms, adding the second timeperiod (τ) to extend the frame time may generate an effective frame timeof 140 ms (e.g., 132 ms+8 ms). As another example, in good lightingconditions (e.g., 30 FPS), the frame time may be approximately 33 ms.Skipping a frame after the lens 108 is repositioned may generate aneffective frame time of 66 ms (e.g., 2×33 ms); however, adding thesecond time period (τ) to extend the frame time may generate aneffective frame time of 41 ms (e.g., 33 ms+8 ms). Thus, adding thesecond period of time to extend the frame time may generate a shorter“effective” frame time compared to skipping a frame, which may provide agreater FPS.

Referring to FIG. 2, a particular embodiment of a timing diagramillustrating extension of a frame time for image frame processing isshown. The timing diagram illustrates the first frame 120 and a secondframe 220 (e.g., a subsequent frame).

During a first time period 230, the first frame 120 may undergo frameintegration. The first time period 230 may correspond to the frameexposure time (ε) in Equation 1. For example, the frame integrationmodule 110 of FIG. 1 may generate pixel data for each pixel in the firstframe 120 during the first time period 230. The white portion of thefirst frame 120 corresponds to frame integration for pixels that are notin the region of interest 126 (e.g., non-ROI regions), and the stripedportion of the first frame 120 corresponds to frame integration forpixels that are in the region of interest 126 (e.g., the ROI). Asdescribed with respect to FIG. 1, based on the brightness level of thefirst frame 120, the frame integration timing module 112 of FIG. 1 mayestimate the length (e.g., duration) of the first time period 230.

After the first time period 230, the frame time injection module 114 ofFIG. 1 may add a second time period 240 to generate a frame time 250that includes the first time period 230 and the second time period 240.The second time period 240 may correspond to the second time period (τ)in Equation 1 (e.g., the injection time). For example, the AEC may set(e.g. configure) the frame time 250 and the first time period 230 basedon a lighting of the first frame 120. To extend the frame time 250(e.g., to add the second time period 240), the AEC may readjust (e.g.,reconfigure) the frame time 250 to be longer based on the calculationswith respect to Equation 1 and maintain the first time period 230 as theexposure time. During the second time period 240, the position of thelens 108 may be adjusted to focus on the region of interest 126 of thefirst frame 120. For example, the actuator 106 may adjust the positionof the lens 108 to focus on the region of interest 126 during the secondtime period 240. Repositioning the lens 108 to focus on the region ofinterest 126 may adjust the focus value of the first frame 120. Forexample, during the second time period 240 (e.g., the added time), theactuator 106 may reposition the lens 108 so that the focus value module118 of FIG. 1 may determine a relatively high focus value. After thesecond time period 240 (e.g., after the frame time 250 of the firstframe 120), the frame integration module 110 may begin generating pixeldata for the second frame 220.

The timing diagram of FIG. 2 illustrates extending the frame time 250from the first time period 230 to the second time period 240 to providethe actuator 106 with time to reposition the lens 108. For example,adding the second time period 240 after the first time period 230 toextend the frame time 250 may enable the actuator 106 to reposition thelens 108 and focus on the region of the interest 126 without skipping aframe.

Referring to FIG. 3, a flowchart that illustrates a particular aspect ofa method 300 for extending a frame time for image frame processing isshown. The method 300 may be performed by the image processor 102 ofFIG. 1.

The method 300 includes determining, at an image processor, a first timeperiod associated with processing a first frame of an image captured viaan image sensor, at 302. For example, referring to FIGS. 1-2, the frameintegration timing module 112 may determine (e.g., estimate) the lengthof the first time period 230 for the frame integration module 110 togenerate pixel data for each pixel in the first frame 120. Thedetermination may be based on a “brightness” level of the first frame120. For example, if the first frame 120 is relatively bright (e.g., ahigh light frame), the frame integration time (e.g., “frame exposure”time) may be relatively short. To illustrate, the frame integration timeat high light conditions may be approximately 33 ms or less. If thefirst frame 120 is relatively dark (e.g., a low light frame), the frameintegration time may be relatively long. To illustrate, the frameintegration time at low light conditions may be approximately 132 ms.Thus, based on the brightness level of the first frame 120, the frameintegration timing module 112 may determine (or estimate) the length oftime for the frame integration module 110 to generate pixel data foreach pixel in the first frame 120.

A frame time for processing the first frame may be extended by a secondtime period (τ), at 304. For example, referring to FIGS. 1-2, the frametime injection module 114 may add the second time period 240 after thefirst time period 230 to generate (e.g., extend) the frame time 250 forprocessing the first frame 120. For example, the image processor 102 maydetermine the actuator settle time (α). The actuator settle time (α) maycorrespond to an amount of time for the actuator 106 to completeoscillation during processing of the first frame 120. In a particularaspect, the actuator settle time (α) may be a fixed time period. Forexample, the actuator settle time (α) may be approximately 10 ms. Toobtain the second time period 240 (e.g., to determine a length of timeto inject), the image processor 102 may subtract a product of the amount(e.g., the percentage) of permitted focus value contamination (ρ) andthe frame exposure time (ε) from the actuator settle time according toEquation 1. The exposure time (ε) may be based on lighting conditionsassociated with the first frame 120, as described above. Thus, thesecond time period 240 may be based at least in part on an amount ofpermitted focus value contamination (ρ) for processing the first frame120.

The method 300 of FIG. 3 may improve focus statistics of the region ofinterest 126 by extending the frame time to enable the actuator 106 toreposition the lens 108. During the added time, the actuator 106 mayreposition the lens 108 to focus on the region of the interest 126.Thus, a delay (e.g., the second time period (τ)) may be added to eachframe (at the time of processing) during an auto focus search so thatthe actuator 106 may reposition the lens 108 to improve focusstatistics. The delay (e.g., approximately 8 ms) may be substantiallyless than a delay associated with skipping a frame. For example,skipping a frame may generate an effective delay for the auto focussearch that is approximately equal to an additional frame time.

Referring to FIG. 4, another flowchart that illustrates a particularaspect of a method 400 for extending a frame time for image frameprocessing is shown. The method 400 may be performed by the imageprocessor 102 of FIG. 1.

The method 400 may include determining sensor settings, at 402. Forexample, referring to FIG. 1, the image processor 102 may determine theframe time for the first frame 120 and the exposure time (e.g., theframe integration time) for the first frame. A threshold time to movethe lens 108 may also be determined, at 404. For example, referring toFIG. 1, the image processor 102 may determine (e.g., estimate) athreshold time to enable the actuator 106 to move the lens 108 to focuson the region of interest 126. In a particular embodiment, the thresholdtime is tunable. For example, in a first scenario, the threshold timemay be equal to approximately 4 ms. In a second scenario, the thresholdtime may be equal to approximately 8 ms. In a particular embodiment, thethreshold time may be based on user input. Sensor update settings mayalso be determined, at 406. The sensor update settings may indicatewhether auto focus has been enabled.

If the image processor 102 determines that auto focus has been enabled,at 408, the image processor 102 may determine whether the differencebetween the frame time and the exposure time is less than the thresholdtime, at 410. If the difference between the frame time and the exposuretime is not less than the threshold time, the image processor 102 maymaintain the frame time to process the first frame 120, at 412. Forexample, the actuator 106 may reposition the lens 108 after the exposuretime to improve the focus value of the region of interest 126. If theimage processor determines that auto focus has not been enabled, at 408,the image processor may maintain the frame time, at 412, to process thefirst frame 120.

If the image processor 102 determines that auto focus has been enabled,at 408, and determines that the difference between the frame time andthe exposure time is less than the threshold time, at 410, the imageprocessor 414 may extend the frame time, at 414. For example, the frametime injection module 114 of FIG. 1 may add the second time period 240after the first time period 230 to extend the frame time 250. Adding thesecond time period 240 may correspond to the AEC extending the frametime 250 while maintaining the exposure time (e.g., the first timeperiod 230). During the second time period 240, the position of the lens108 may be adjusted to focus on the region of interest 126 of the firstframe 120. For example, the actuator 106 may adjust the position of thelens 108 to focus on the region of interest 126 during the second timeperiod 240. Repositioning the lens 108 to focus on the region ofinterest 126 may adjust the focus value of the first frame 120. Forexample, during the second time period 240 (e.g., the added time), theactuator 106 may reposition the lens 108 such that the focus valuemodule 118 of FIG. 1 may achieve a relatively high focus value.

The method 400 of FIG. 4 may extend the frame time of a frame so thatthe actuator 106 has enough time to reposition the lens 108 before thenext frame is processed. For example, the actuator 106 may repositionthe lens 108 during the extended frame time to focus on the region ofthe interest 126, and then the image processor 102 may collect the focusvalue. Thus, a delay (e.g., the extended or “added” frame time) may beadded to the frame time during an auto focus search (e.g., duringrepositioning of the lens 108 to improve focus statistics). The autofocus search may be contrast-based (e.g., based on a comparison of focusvalues at different lens positions) or may be based on depth estimation.The delay (e.g., approximately 8 ms) may be substantially less than adelay associated with skipping a frame. For example, skipping a framemay generate an effective delay for the auto focus search that isapproximately equal to an additional frame time.

Referring to FIG. 5, a particular illustrative embodiment of a focusvalue curve is shown. The x-axis of the focus value curve indicates alens position. For example, the x-axis may indicate a position of thelens 108 of FIG. 1. The y-axis of the focus value curve indicates focusvalues. For example, the y-axis may indicate focus values that arecollected (e.g., determined) by the focus value module 118 of FIG. 1.

The open circles may indicate focus values after the lens 108 moves whenframe time extension (according to the above-described techniques) isnot implemented, and the solid circles may indicate focus values afterthe lens 108 moves when frame time extension is implemented. Forexample, when the lens 108 moves to position 327 and frame timeextension is not implemented, the focus value (e.g., the open circle)that is collected is approximately 4,500,000, as shown at 502. However,when the lens 108 moves to position 327 and frame time extension isimplemented, the focus value (e.g., the solid circle) that is collectedis approximately 5,100,000, as shown at 504.

Thus, the focus value (at 502) is substantially different from otherfocus values (at 506) for the same lens position when frame timeextension is not implemented, and the focus value (at 504) issubstantially similar to the other focus values (at 506) for the samelens position when frame time extension is implemented. Thus, focusvalue contamination may be reduced by implementing the frame timeextension techniques described with respect to FIGS. 1-4.

Similar results may be achieved for other lens positions illustrated inthe focus value curve. For example, similar results may be achieved whenthe lens 108 moves to position 309, position 291, position 273, position255, position 237, position 219, position 201, position 183, etc.

Referring to FIG. 6, a peak comparison of the focus value curve of FIG.5 is shown. The difference between the focus value when frame timeextension is implemented at a lens position and the focus value whenframe time extension is not implemented at the corresponding lensposition represents a peak shift for the lens position.

The difference (e.g., the peak shift) corresponds to an amount of focusvalue contamination that is reduced by extending the frame time. Forexample, the focus value when the frame time extension is implemented isa “more stable” focus value (e.g., it is more similar to the other focusvalues, at 506). Thus, peak shift may be reduced (e.g., focus valuecontamination may decrease) as the frame time is extended. For example,adding “enough” time to extend the frame time may generate a relativelystable focus value for the frame.

Referring to FIG. 7, a block diagram of a particular illustrative aspectof a wireless communication device is depicted and generally designated700. The device 700 includes a processor 710 (e.g., a central processingunit (CPU)) coupled to a memory 732. The image processor 102 is coupledto the processor 710.

An image sensor 790 (e.g., a camera) may be coupled to the imageprocessor 102. The image sensor 790 may be configured to capture imageframes, and the image processor 102 may be configured to process thecaptured image frames according to the techniques described with respectto FIGS. 1-4. For example, the frame time injection module 114 of theimage processor 102 may extend the frame time for processing a frame, asdescribed above. A memory 798 is coupled to the image processor 102. Thememory 798 may be a non-transitory computer-readable medium thatincludes instructions 799 executable by the image processor 102 toperform the method 300 of FIG. 3 and/or the method 400 of FIG. 4.

The memory 732 may be also non-transitory computer-readable medium thatincludes instructions 760 executable by the processor 710 or the imageprocessor 102. For example, the processor-executable instructions 710may cause image processor 102 to perform the method 300 of FIG. 3 and/orthe method 400 of FIG. 4. The non-transitory computer-readable mediummay be a memory device, such as a random access memory (RAM),magnetoresistive random access memory (MRAM), spin-torque transfer MRAM(STT-MRAM), flash memory, read-only memory (ROM), programmable read-onlymemory (PROM), erasable programmable read-only memory (EPROM),electrically erasable programmable read-only memory (EEPROM), registers,hard disk, a removable disk, or a compact disc read-only memory(CD-ROM).

FIG. 7 also shows a display controller 726 that is coupled to theprocessor 710 and to a display 728. A coder/decoder (CODEC) 734 iscoupled to the processor 710. A speaker 736 can be coupled to the CODEC734, and a microphone 738 can be coupled to the CODEC 734. FIG. 7 alsoindicates that a wireless controller 740 can be coupled to the processor710 and to an antenna 742. In a particular aspect, the processor 710,the image processor 102, the display controller 726, the memory 732, theCODEC 734, and the wireless controller 740 are included in asystem-in-package or system-on-chip device 722. In a particular aspect,an input device 730, such as a touchscreen and/or keypad, and a powersupply 744 are coupled to the system-on-chip device 722. Moreover, in aparticular aspect, as illustrated in FIG. 7, the display 728, the inputdevice 730, the speaker 736, the microphone 738, the antenna 742, thepower supply 744, and the image sensor 790 are external to thesystem-on-chip device 722. However, each of the display 728, the inputdevice 730, the speaker 736, the microphone 738, the antenna 742, thepower supply 744, and the image sensor 790 can be coupled to a componentof the system-on-chip device 722, such as an interface or a controller.

In conjunction with the described aspects, an apparatus includes meansfor determining a first time period associated with processing a firstframe of an image captured via an image sensor. For example, the meansfor determining the first time period may include the frame integrationtiming module 112 of FIG. 1, one or more devices (e.g., a processorexecuting instructions at a non-transitory computer readable storagemedium), or any combination thereof.

The apparatus may also include means for extending a frame time forprocessing the first frame by a second time period. For example, themeans for extending the frame time may include the frame time injectionmodule 114 of FIG. 1, one or more devices (e.g., a processor executinginstructions at a non-transitory computer readable storage medium), orany combination thereof. The second time period is based at least inpart on an amount of permitted focus value contamination for processingthe first frame, and the frame time includes the first time period andthe second time period.

In conjunction with the described aspects, a second apparatus includesmeans for determining a frame time allocated for processing a firstframe of an image. For example, the means for determining the frame timemay include the image processor 102 of FIG. 1, one or more devices(e.g., a processor executing instructions at a non-transitory computerreadable storage medium), or any combination thereof.

The second apparatus may also include means for determining an exposuretime for the first frame. For example, the means for determining theexposure time may include the frame integration timing module 112 ofFIG. 1, one or more devices (e.g., a processor executing instructions ata non-transitory computer readable storage medium), or any combinationthereof.

The second apparatus may also include means for determining whether adifference between the frame time and the exposure time satisfies athreshold. For example, the means for determining whether the differencesatisfies the threshold may include the image processor 102 of FIG. 1,one or more devices (e.g., a processor executing instructions at anon-transitory computer readable storage medium), or any combinationthereof.

The second apparatus may also include means for determining whether toextend the frame time based on the difference. For example, the meansfor determining whether to extend the frame time may include the frametime injection module 114 of FIG. 1, one or more devices (e.g., aprocessor executing instructions at a non-transitory computer readablestorage medium), or any combination thereof.

Those of skill would further appreciate that the various illustrativelogical blocks, configurations, modules, circuits, and algorithm stepsdescribed in connection with the aspects disclosed herein may beimplemented as electronic hardware, computer software executed by aprocessing device such as a hardware processor, or combinations of both.Various illustrative components, blocks, configurations, modules,circuits, and steps have been described above generally in terms oftheir functionality. Whether such functionality is implemented ashardware or executable software depends upon the particular applicationand design constraints imposed on the overall system. Skilled artisansmay implement the described functionality in varying ways for eachparticular application, but such implementation decisions should not beinterpreted as causing a departure from the scope of the presentdisclosure.

The steps of a method or algorithm described in connection with theaspects disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in a memory device, such as random accessmemory (RAM), magnetoresistive random access memory (MRAM), spin-torquetransfer MRAM (STT-MRAM), flash memory, read-only memory (ROM),programmable read-only memory (PROM), erasable programmable read-onlymemory (EPROM), electrically erasable programmable read-only memory(EEPROM), registers, hard disk, a removable disk, or a compact discread-only memory (CD-ROM). An exemplary memory device is coupled to theprocessor such that the processor can read information from, and writeinformation to, the memory device. In the alternative, the memory devicemay be integral to the processor. The processor and the storage mediummay reside in an ASIC. The ASIC may reside in a computing device or auser terminal. In the alternative, the processor and the storage mediummay reside as discrete components in a computing device or a userterminal.

The previous description of the disclosed aspects is provided to enablea person skilled in the art to make or use the disclosed aspects.Various modifications to these aspects will be readily apparent to thoseskilled in the art, and the principles defined herein may be applied toother aspects without departing from the scope of the disclosure. Thus,the present disclosure is not intended to be limited to the aspectsshown herein but is to be accorded the widest scope possible consistentwith the principles and novel features as defined by the followingclaims.

What is claimed is:
 1. A method for extending a time period forprocessing an image frame, the method comprising: determining, at animage processor, a first time period associated with processing a firstframe of an image captured via an image sensor; and extending a frametime for processing the first frame by a second time period, the secondtime period based at least in part on an amount of permitted focus valuecontamination for processing the first frame, and the frame timeincluding the first time period and the second time period.
 2. Themethod of claim 1, wherein the first time period corresponds to a frameexposure time, and wherein the second time period is further based onthe frame exposure time.
 3. The method of claim 2, wherein determiningthe second time period comprises: subtracting a product of the frameexposure time and the amount of permitted focus value contamination froman actuator settle time to obtain the second time period, the actuatorsettle time corresponding to an amount of time for an actuator tocomplete oscillation during processing of the first frame.
 4. The methodof claim 3, wherein the actuator settle time is a fixed time period. 5.The method of claim 3, wherein the actuator settle time is approximately10 milliseconds.
 6. The method of claim 2, wherein the frame exposuretime is based on lighting conditions associated with the first frame. 7.The method of claim 1, further comprising generating pixel data for thefirst frame during the first time period.
 8. The method of claim 1,further comprising adjusting a position of a lens of the image sensorduring the second time period to adjust a focus value of the firstframe.
 9. The method of claim 8, wherein the position of the lens isadjusted using an actuator.
 10. The method of claim 8, wherein the focusvalue of the first frame indicates a sharpness of a region of interestof the first frame.
 11. An apparatus comprising: an image processor; anda memory storing instructions executable by the image processor toperform operations comprising: determining a first time periodassociated with processing a first frame of an image captured via animage sensor; and extending a frame time for processing the first frameby a second time period, the second time period based at least in parton an amount of permitted focus value contamination for processing thefirst frame, and the frame time including the first time period and thesecond time period.
 12. The apparatus of claim 11, wherein the firsttime period corresponds to a frame exposure time, and wherein the secondtime period is further based on the frame exposure time.
 13. Theapparatus of claim 12, wherein the operations further comprise:subtracting a product of the frame exposure time and the amount ofpermitted focus value contamination from an actuator settle time toobtain the second time period, the actuator settle time corresponding toan amount of time for an actuator to complete oscillation duringprocessing of the first frame.
 14. The apparatus of claim 13, whereinthe actuator settle time is a fixed time period.
 15. The apparatus ofclaim 13, wherein the actuator settle time is approximately 10milliseconds.
 16. The apparatus of claim 12, wherein the frame exposuretime is based on lighting conditions associated with the first frame.17. The apparatus of claim 11, wherein the operations further comprisegenerating pixel data for the first frame during the first time period.18. The apparatus of claim 11, wherein the operations further compriseadjusting a position of a lens of the image sensor during the secondtime period to adjust a focus value of the first frame.
 19. Theapparatus of claim 18, wherein the position of the lens is adjustedusing an actuator.
 20. The apparatus of claim 18, wherein the focusvalue of the first frame indicates a sharpness of a region of interestof the first frame.
 21. A non-transitory computer-readable mediumcomprising instructions for extending a time period for processing animage frame, the instructions, when executed by an image processor,cause the image processor to: determine a first time period associatedwith processing a first frame of an image captured via an image sensor;and extend a frame time for processing the first frame by a second timeperiod, the second time period based at least in part on an amount ofpermitted focus value contamination for processing the first frame, andthe frame time including the first time period and the second timeperiod.
 22. The non-transitory computer-readable medium of claim 21,wherein the first time period corresponds to a frame exposure time, andwherein the second time period is further based on the frame exposuretime.
 23. The non-transitory computer-readable medium of claim 22,further comprising instructions that, when executed by the imageprocessor, cause the image processor to: subtract a product of the frameexposure time and the amount of permitted focus value contamination froman actuator settle time to obtain the second time period, the actuatorsettle time corresponding to an amount of time for an actuator tocomplete oscillation during processing of the first frame.
 24. Thenon-transitory computer-readable medium of claim 23, wherein theactuator settle time is a fixed time period.
 25. The non-transitorycomputer-readable medium of claim 23, wherein the actuator settle timeis approximately 10 milliseconds.
 26. The non-transitorycomputer-readable medium of claim 22, wherein the frame exposure time isbased on lighting conditions associated with the first frame.
 27. Thenon-transitory computer-readable medium of claim 21, further comprisinginstructions that, when executed by the image processor, cause the imageprocessor to generate pixel data for the first frame during the firsttime period.
 28. An apparatus comprising: means for determining a firsttime period associated with processing a first frame of an imagecaptured via an image sensor; and means for extending a frame time forprocessing the first frame by a second time period, the second timeperiod based at least in part on an amount of permitted focus valuecontamination for processing the first frame, and the frame timeincluding the first time period and the second time period.
 29. Theapparatus of claim 28, wherein the first time period corresponds to aframe exposure time, and wherein the second time period is further basedon the frame exposure time.
 30. The apparatus of claim 29, wherein theframe exposure time is based on lighting conditions associated with thefirst frame.